package com.mrd.gtimp.service;

import com.mrd.gtimp.service.dto.GtimpTrailBizQueryDTO;

import javax.jws.WebService;

/**
 * 货运平台与业务系统之间
 * @author hejj
 */
@WebService
public interface ITrailBizService extends IBizService {

	/**
	 * 拖车业务数据接收接口，业务上传到业务系统时使用
	 * @param paramsJson
	 *            GtimpTrailBizQueryDTO的json格式，必填id，bpk，userAccount
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String insertTrailBiz(String paramsJson) throws Exception;

	/**
	 * @param paramsJson
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String cancelTrailBiz(String paramsJson) throws Exception;

	/**
	 * 拖车业务信息查询
	 * 分派封条、放柜，拖车有拖车安排、拖车出入闸信息查询（用于信息补录的）
	 * @param paramsJson
	 * @return
	 * @throws Exception
	 */
	public String findTrailBizInfo(String paramsJson) throws Exception;

	/**
	 * 通过部分bpk内容like匹配获取完整bpk
	 * @param qdto
	 *            必填(bpk|用于like匹配)，supId
	 * @return 完整bpk
	 * @throws Exception
	 */
	public String findFullBpk(GtimpTrailBizQueryDTO qdto) throws Exception;

	/**
	 * 通过bpk或货运平台业务ID，发送完成拖车安排的通知
	 * @param qdto
	 *            必填(bpk或货运平台业务ID其中一项)，supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String processToSetTrail(GtimpTrailBizQueryDTO qdto) throws Exception;

	/**
	 * 通过bpk或货运平台业务ID，发送拖车吉柜出闸的通知
	 * @param qdto
	 *            必填(bpk或货运平台业务ID其中一项)，supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String processToTrailOut(GtimpTrailBizQueryDTO qdto) throws Exception;

	/**
	 * 通过bpk或货运平台业务ID，发送放柜的通知
	 * @param qdto
	 *            必填(bpk或货运平台业务ID其中一项)，supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String processToSetCt(GtimpTrailBizQueryDTO qdto) throws Exception;

	/**
	 * 通过bpk或货运平台业务ID，发送拖车入闸的通知
	 * @param qdto
	 *            必填(bpk或货运平台业务ID其中一项)，supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String processToTrailIn(GtimpTrailBizQueryDTO qdto) throws Exception;

}
